1. Field of the Invention
The invention relates to the field of production printing systems and, in particular, to correcting or masking printer inherent artifacts of a print engine using an iterative halftoning search algorithm.
2. Statement of the Problem
Production printing systems associated with data processing enterprises generally include a localized print controller within the printing system. The print controller controls the overall operation of the printing system including, for example, host interfacing, interpretation or rendering, and lower level process control or interface features of print engines of the printing system. Host interaction may include appropriate adapters for coupling the printing system to one or more host systems that transmit print jobs to the printing system. The print jobs are generally encoded in the form of a page description language such as PostScript (PS), PCL, IPDS, etc.
In whatever form the print job may be encoded or formatted, the print controller within the printing system interprets the received information to generate sheetside bitmaps of the print job. The sheetside bitmaps represent the image to be printed on one side of a sheet of paper. Each sheetside bitmap generally comprises a 2-dimensional array of picture elements (“pixels”, or PELs) that represent a corresponding formatted sheet of the print job. Each pixel may represent an encoded color value in accordance with the requirements of the particular print job encoding and the capabilities of the printing system on which the print job is to be printed.
The print controller stores or buffers the sheetside bitmaps in accordance with storage capabilities of the particular architecture of a particular print controller. The print controller then forwards the sheetside bitmaps to one or more print engines (sometimes also referred to as an “imaging engine” or as a “marking engine”). The print engines have internal queues for storing the sheetside bitmaps to be printed. A print engine pulls the sheetside bitmaps off of the queue and performs an imaging process to mark the printable medium (e.g., a sheet of paper) with the sheetside bitmaps provided by the print controller. The print engine may comprise a laser print engine, an ink-jet print engine, or another type of imaging system that transfers each sheetside bitmap to corresponding pixels on paper. Generally, the print engine is configured with the printer.
Halftoning is the reprographic technique that simulates continuous tone imagery through the use of strategically spaced dots of varying size. Screening is a type of halftoning method used commonly in practical implementations. A common binary screening method employs a matrix of thresholds replicated to the size of printable area. These replicated matrices are compared to the continuous tone image (CTI) to determine which PELs are on or off. The print controller receives a CTI, such as a digital picture, from a host. The print controller then uses the screening algorithm to process the CTI and convert the image into an array of pixels. The result of the screening algorithm is a bitmap where each pixel may be on, off, or have multiple drop sizes or exposure levels (e.g., ink or no ink, etc.) which is referred to as a halftone image (HTI). The print controller then sends the halftone image to a print engine for printing.
The print engines may sometimes encounter uniformity errors in printing. These inherent printing errors are referred to as printer artifacts. For example, printer artifacts may include be streaks, “jet outs”, non-uniformities, inconsistent ink drop sizes, each of which is associated with the characteristics of the imaging head (e.g., an LED printhead, an ink jet printhead, etc.). In previously disclosed implementations, the print controller compensated for printer artifacts by scanning a printed image of the HTI and comparing the scanned image to the CTI to adjust subsequent prints by using standard halftoning techniques. A few methods attempt to address artifacts that are inherently caused by the print engine design, like error diffusion, but none of the approaches are iterative halftone based. Several prior techniques attempt to reduce artifacts caused by standard screening methodologies. For example the articles “Model-based color Halftoning using Direct Binary Search,” (A. U. Agar and J. P. Allebach) IEEE Trans. on Image Processing, Vol. 14, pp. 1945-1959, December 2005 and “Colorant-based direct binary search halftoning” (J Lee and J. P. Allebach), Journal of Electronic Imaging, Vol. 11, no. 4, pp. 517-527, October 2002 demonstrate the application of iterative halftones like DBS to compensate for screening artifacts such as non-linear tones, colorant textures. However, these techniques are still susceptible to printer artifacts. Accordingly, there exists a need for improved compensation of printer artifacts.